/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 * No deletion without permission, or be held responsible to law.
 * @author YDZ
 */
import { defHttp } from '/@/utils/http/axios';
import { useGlobSetting } from '/@/hooks/setting';
import { BasicModel, Page } from '../model/baseModel';

const { adminPath } = useGlobSetting();

export interface SoMain extends BasicModel<SoMain> {
  code?: string; // 订单号
  ddate?: string; // 单据日期
  cbustype?: string; // 业务类型
  cstcode?: string; // 销售类型
  cusCode?: string; // 客户编码
  officeCode?: string; // 部门
  personCode?: string; // 业务员
  cexchName?: string; // 币种
  iexchrate?: number; // 汇率
  itaxrate?: number; // 税率
  backFlag?: string; // 退货标志
  ivtid?: number; // 单据模板
  cdefine1?: string; // 自定义项1
  cdefine2?: string; // 自定义项2
  cdefine3?: string; // 自定义项3
  cdefine4?: string; // 自定义项4
  cdefine5?: number; // 自定义项5
  cdefine6?: string; // 自定义项6
  cdefine7?: number; // 自定义项7
  cdefine8?: string; // 自定义项8
  cdefine9?: string; // 自定义项9
  cdefine10?: string; // 自定义项10
  cdefine11?: string; // 自定义项11
  cdefine12?: string; // 自定义项12
  cdefine13?: string; // 自定义项13
  cdefine14?: string; // 自定义项14
  cdefine15?: number; // 自定义项15
  cdefine16?: number; // 自定义项16
  chdefine1?: string; // 子公司店面属性
  chdefine2?: string; // 战区分类
  chdefine3?: string; // 合作方式
  chdefine4?: string; // 市级代理
  chdefine5?: string; // 区级代理
  chdefine6?: string; // 招商类别
  chdefine7?: string; // 招商主体
  chdefine8?: string; // 运营主管
  chdefine9?: string; // 省区经理
  chdefine10?: string; // 市场总监
  chdefine11?: string; // 战区总经理
  chdefine12?: string; // 招商总监
  chdefine13?: string; // 招商经理
  chdefine14?: string; // 物流公司
  chdefine15?: string; // 经销商收货地址
  chdefine16?: string; // 经销商名称
  chdefine17?: string; // 经销商简称
  chdefine18?: string; // 收货联系人
  chdefine19?: number; // 经销商返利余额
  chdefine20?: number; // 经销商余额
  chdefine21?: string; // 核发店面简称
  chdefine22?: string; // 收货人联系电话
  chdefine23?: number; // 经销商赠送余额
  chdefine24?: string; // 是否包邮
  chdefine25?: string; // 包邮关联单号
  chdefine26?: string; // 是否发货
  chdefine27?: string; // 实际控股人
  chdefine28?: string; // 法人（经销商）
  chdefine29?: string; // 经销商首发日期
  chdefine30?: string; // 核发店面归属
  chdefine31?: string; // 物流对接单位
  chdefine32?: string; // 核发店面首发日期
  chdefine33?: string; // 子公司名称
  chdefine34?: number; // 客户返利余额
  chdefine35?: number; // 客户促销返利余额
  chdefine36?: number; // 可使用返利上限（普通/促销）
  chdefine37?: string; // 扩展自定义项37
  chdefine38?: string; // 扩展自定义项38
  chdefine39?: string; // 原出库单号
  chdefine40?: string; // 所属省级运营中心
  chdefine41?: string; // 是否运管中心
  chdefine42?: string; // 是否占股100%
  badvorder?: string; // 是否预订单
  bread?: string; // 是否已阅
  reader?: string; // 已阅人
  readTime?: string; // 已阅时间
}

export const soMainList = (params?: SoMain | any) =>
  defHttp.get<SoMain>({ url: adminPath + '/shop/order/soMain/list', params });

export const soMainListData = (params?: SoMain | any) =>
  defHttp.post<Page<SoMain>>({ url: adminPath + '/shop/order/soMain/listData', params });

export const soMainForm = (params?: SoMain | any) =>
  defHttp.get<SoMain>({ url: adminPath + '/shop/order/soMain/form', params });

export const soMainSave = (params?: any, data?: SoMain | any) =>
  defHttp.postJson<SoMain>({ url: adminPath + '/shop/order/soMain/save', params, data });

export const soMainDelete = (params?: SoMain | any) =>
  defHttp.get<SoMain>({ url: adminPath + '/shop/order/soMain/delete', params });

// 订单审核
export const soMainSp = (params?: SoMain | any) =>
  defHttp.get<SoMain>({ url: adminPath + '/shop/order/soMain/orderSp', params });

// 订单作废
export const soMainCancel = (params?: any, data?: SoMain | any) =>
  defHttp.postJson<SoMain>({ url: adminPath + '/shop/order/soMain/orderCancel', params, data });

// 订单编辑
export const orderEdit = (params?: any, data?: SoMain | any) =>
  defHttp.postJson<SoMain>({ url: adminPath + '/shop/order/soMain/orderEdit', params, data });

export const saveBackOrder = (params?: any, data?: SoMain | any) =>
  defHttp.postJson<SoMain>({ url: adminPath + '/shop/order/soMain/saveBackOrder', params, data });

// 标注为预订单
export const soMainSetAdvOrder = (params?: any, data?: SoMain | any) =>
  defHttp.postJson<SoMain>({ url: adminPath + '/shop/order/soMain/setAdvOrder', params, data });

// 标注为已阅
export const soMainSetRead = (params?: any, data?: SoMain | any) =>
  defHttp.postJson<SoMain>({ url: adminPath + '/shop/order/soMain/setBread', params, data });

// 标注预订单是否编辑完成
export const soMainSetAdvOrderEdit = (params?: any, data?: SoMain | any) =>
  defHttp.postJson<SoMain>({ url: adminPath + '/shop/order/soMain/advOrderEdit', params, data });
